package chapter03;

import java.util.Arrays;

public class MaxProfit121 {
    /**
     * 图形结合
     * 股票起伏是一条折线 如果我们能够找到股价最低点minPrice，就能在股价每次起伏的时候更新出最大利润max
     * for i->[0,length-1]
     *     if prices[i]<minPrice
     *          minPrice=prices[i]
     *     else
     *          max=Math.max(max,prices[i]-minPrice)
     */
    public int maxProfit(int[] prices) {
        int max=0;
        int minPrice=Integer.MAX_VALUE;
        for(int i=0;i<prices.length;i++){
            if(prices[i]<minPrice){
                minPrice=prices[i];
            }else{
                max=Math.max(max,prices[i]-minPrice);
            }
        }
        return max;
    }
}
